const express=require('express');
const users=express.Router();
const axios = require("axios");
const qs=require("qs")
const jwt = require("jsonwebtoken")
// 用户管理
users.get('/',(req, res)=>{
    res.render('admin/users',({userInfo:jwt.decode(req.session.token)}))
});
// 查询所有用户，用于渲染页面
users.get('/findAllUsers',(req, res)=>{
    const {pageNow, pageSize}=req.query;
    if (pageNow==undefined||pageSize==undefined) {
        console.log(req.query);
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/admin/queryAllUser",
            method:"GET",
            params: {
                pageNow :pageNow,
                pageSize :pageSize
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
        })
        .then(data=>{
           res.send(data.data)
        //    console.log(data.data);
        })
        .catch(err=>{
            res.send(err)
            console.log("err "+"err");
        })
    }
})
// 初始化单个用户密码
users.get('/updatePassword',(req, res)=>{
    const {_id}=req.query;
    console.log(_id);
    if (_id==undefined) {
        console.log(req.query);
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/admin/setPassword",
            method:"PUT",
            params: {
                id:_id,
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
        })
        .then(data=>{
            if (data.data==1) {
                res.send({err:0,data:data.data,msg:"初始化成功"})
            }
        //    console.log(data.data);
        })
        .catch(err=>{
            console.log("err "+err);
        })
    }
})
// 批量初始话密码
users.get('/updateAllPassword',(req, res)=>{
    const {_id}=req.query;
    console.log(_id);
    if (_id==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/admin/batchSetPassword",
            method:"PUT",
            params: {
                id:_id,
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
            paramsSerializer: params => {
                return qs.stringify(params, { indices: false })
            }
        })
        .then(data=>{
            if (data.data>0) {
                res.send({err:0,data:data.data,msg:"初始化成功"})
            }
        })
        .catch(err=>{
            res.send(err);
        })
    }
})
// 删除单个用户
users.get('/deleteUser',(req, res)=>{
    const {_id}=req.query;
    console.log(_id);
    if (_id==undefined) {
        console.log(req.query);
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/admin/deleteUser",
            method:"DELETE",
            params: {
                id:_id,
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
        })
        .then(data=>{
            if (data.data==1) {
                res.send({err:0,data:data.data,msg:"删除成功"})
            }else{
                res.send({err:-1,data:data.data,msg:"删除失败"})
            }
           console.log(data.data);
        })
        .catch(err=>{
            // console.log("err "+err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})

        })
    }
    
})
// 批量删除用户
users.get('/deleteAllUser',(req, res)=>{
    const {_id}=req.query;
    if (_id==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/admin/batchDeleteUser",
            method:"DELETE",
            params: {
                id:_id,
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
            paramsSerializer: params => {
                return qs.stringify(params, { indices: false })
            }})
        .then(data=>{
            if (data.data>0) {
                res.send({err:0,data:data.data,msg:"删除成功"})
            }else{
                res.send({err:-1,data:data.data,msg:"删除失败"})
            }
        })
        .catch(err=>{
            // res.send(err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
        })
    }
})
// // 通过姓名查找用户
users.get('/seekUserByName',(req, res)=>{
    const {name}=req.query;
    if (name==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/admin/findByNameLike",
            method:"GET",
            params: {
                name:name
            },
            headers:{
                token:req.session.token?req.session.token:"",
            }
        })
        .then(data=>{
            // console.log(data);
            res.send({err:0,data:data.data})
        })
        .catch(err=>{
            // res.send(err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
        })
    }
})
// 添加用户页面
users.get('/addUsers',(req, res)=>{res.render('admin/users_item',({userInfo:jwt.decode(req.session.token)}));});
// 批量添加用户
users.post('/addUsers',(req, res)=>{
    const {list}=req.query;
    if (list==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/admin/batchAddUser",
            method:"POST",
            params: {
                list:list
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
            paramsSerializer: params => {
                return qs.stringify(params, { indices: false })
            }
        })
        .then(data=>{
            res.send({err:0,data:data.data})
        })
        .catch(err=>{
            // res.send(err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
        })
    }
})
// 添加单个用户
users.post('/addUser',(req, res)=>{
    const {name,classId,password,username}=req.query;
    if (name==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/admin/addUser",
            method:"POST",
            params: {
                name:name,
                classId:classId,
                password:password,
                username:username
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
        })
        .then(data=>{
            if(data.data=="添加失败"){
                res.send({err:-1,data:data.data})
            }else{
                res.send({err:0,data:data.data})
            }
        })
        .catch(err=>{
            // res.send(err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
        })
    }
})
// 修改用户密码
users.get('/updateUserPassword',(req, res)=>{
    const {id,password,name,username,classId,studentId,sex} = req.query;
    if (name==undefined) {
        return res.status(400).render('admin/error',{msg:"参数错误"})
    }else{
        axios({
            url:"http://1.117.92.175:8081/admin/updateUser",
            method:"GET",
            params: {
                id:id,
                name:name,
                username:username,
                classId:classId,
                studentId:studentId,
                sex:sex,
                password:password,
            },
            headers:{
                token:req.session.token?req.session.token:"",
            },
        })
        .then(data=>{
            res.send({err:0,data:data.data})
        })
        .catch(err=>{
            // res.send(err);
            return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
        })
    }
})
users.get('/imgs',(req, res)=>{
    const {file,studentId,math} = req.query;
    console.log(req.query);
    // console.log(img);
    axios({
        url:"http://1.117.92.175:8081/upLoad",
        method:"POST",
        params: {
            file:file,
            studentId:studentId,
            math:math
        },
        headers:{
            token:req.session.token?req.session.token:"",
        },
    })
    .then(data=>{
       console.log(data);
    })
    .catch(err=>{
        console.log("err "+err);
        return res.status(400).render('admin/error',{msg:"请求出错了",err:err})
    })
});
module.exports=users;